package cn.iocoder.yudao.module.ride.dal.dataobject.orders;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 订单管理 DO
 *
 * @author 小小胡
 */
@TableName("ride_order")
@KeySequence("ride_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderDO extends BaseDO {

    /**
     * 订单ID
     */
    @TableId
    private Integer orderId;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 乘客ID
     */
    private Long userId;
    /**
     * 城市
     */
    private String city;
    /**
     * 车辆类型
     *
     * 枚举 {@link TODO vehicle_type 对应的类}
     */
    private Integer vehicleClass;
    /**
     * 订单状态ID
     *
     * 枚举 {@link TODO order_type 对应的类}
     */
    private Integer orderStatus;
    /**
     * 上车地点
     */
    private String pickupLocation;
    /**
     * 下车地点
     */
    private String dropoffLocation;
    /**
     * 起点名称
     */
    private String start;
    /**
     * 起点城市
     */
    private String startCity;
    /**
     * 起点详细地址
     */
    private String startAddress;
    /**
     * 起点纬度
     */
    private BigDecimal startLatitude;
    /**
     * 起点经度
     */
    private BigDecimal startLongitude;
    /**
     * 终点名称
     */
    private String end;
    /**
     * 终点城市
     */
    private String endCity;
    /**
     * 终点详细地址
     */
    private String endAddress;
    /**
     * 终点纬度
     */
    private BigDecimal endLatitude;
    /**
     * 终点经度
     */
    private BigDecimal endLongitude;
    /**
     * 订单金额(元)
     */
    private BigDecimal orderAmount;
    /**
     * 服务时长(分钟)
     */
    private Integer serviceDuration;
    /**
     * 服务里程(公里)
     */
    private BigDecimal serviceDistance;
    /**
     * 下单来源
     *
     * 枚举 {@link TODO order_from 对应的类}
     */
    private Integer fromId;
    /**
     * 支付类型
     *
     * 枚举 {@link TODO pay_type 对应的类}
     */
    private Integer payId;
    /**
     * 联系手机号
     */
    private String mobile;
    /**
     * 预约时间
     */
    private LocalDateTime appointmentTime;
    /**
     * 状态文本
     */
    private String statusText;
    /**
     * 备注
     */
    private String remark;
    /**
     * 司机ID
     */
    private Long driverId;


}